﻿
namespace Neznayka
{
    internal class NeznaykaConstants
    {
        //prevent construction
        #region ctor
        private NeznaykaConstants()
        {
        }
        #endregion

        public const string NameSpace                                           = "Neznayka";
        public const string ResourceBaseName                                    = "Neznayka.NeznaykaResource";

        public const string CategoryVariableNaming                              = "CategoryVariableNaming";
        public const string CategoryVariableUsage                               = "CategoryVariableUsage";
        public const string CategoryDatabaseStructures                          = "CategoryDatabaseStructures";


        public const string AvoidUnusedVariablesRuleId                          = "DM0001";
        public const string AvoidUnusedVariables_RuleName                       = "AvoidUnusedVariables_RuleName";
        public const string AvoidUnusedVariables_ProblemDescription             = "AvoidUnusedVariables_ProblemDescription";

        public const string AvoidUninitialisedVariablesRuleId                   = "DM0002";
        public const string AvoidUninitialisedVariables_RuleName                = "AvoidUninitialisedVariables_RuleName";
        public const string AvoidUninitialisedVariables_ProblemDescription      = "AvoidUninitialisedVariables_ProblemDescription";

        public const string AvoidWriteOnlyVariablesRuleId                       = "DM0003";
        public const string AvoidWriteOnlyVariables_RuleName                    = "AvoidWriteOnlyVariables_RuleName";
        public const string AvoidWriteOnlyVariables_ProblemDescription          = "AvoidWriteOnlyVariables_ProblemDescription";



        public const string AvoidUnusedTableVariableRuleId                      = "DM0004";
        public const string AvoidUnusedTableVariable_RuleName                   = "AvoidUnusedTableVariable_RuleName";
        public const string AvoidUnusedTableVariable_ProblemDescription         = "AvoidUnusedTableVariable_ProblemDescription";

        public const string AvoidUnusedParameterRuleId                          = "DM0005";
        public const string AvoidUnusedParameter_RuleName                       = "AvoidUnusedParameter_RuleName";
        public const string AvoidUnusedParameter_ProblemDescription             = "AvoidUnusedParameter_ProblemDescription";



        public const string VariableNameLengthRuleId                            = "DM0006";
        public const string VariableNameLength_RuleName                         = "VariableNameLength_RuleName";
        public const string VariableNameLength_ProblemDescription               = "VariableNameLength_ProblemDescription";

        public const string VariableNameSuffixRuleId                            = "DM0007";
        public const string VariableNameSuffix_RuleName                         = "VariableNameSuffix_RuleName";
        public const string VariableNameSuffix_ProblemDescription               = "VariableNameSuffix_ProblemDescription";

        public const string VariableNameProximityRuleId                         = "DM0008";
        public const string VariableNameProximity_RuleName                      = "VariableNameProximity_RuleName";
        public const string VariableNameProximity_ProblemDescription            = "VariableNameProximity_ProblemDescription";

        public const string ParameterNameLengthRuleId                           = "DM0009";
        public const string ParameterNameLength_RuleName                        = "ParameterNameLength_RuleName";
        public const string ParameterNameLength_ProblemDescription              = "ParameterNameLength_ProblemDescription";

        public const string ParameterVariableNameFormatRuleId                   = "DM0010";
        public const string ParameterVariableNameFormat_RuleName                = "ParameterVariableNameFormat_RuleName";
        public const string ParameterVariableNameFormat_ProblemDescription      = "ParameterVariableNameFormat_ProblemDescription";



        public const string EnforcePrimaryKeyRuleId = "DM0011";
        public const string EnforcePrimaryKey_RuleName = "EnforcePrimaryKey_RuleName";
        public const string EnforcePrimaryKey_ProblemDescription = "EnforcePrimaryKey_ProblemDescription";

        public const string EnforceClusteredIndexRuleId = "DM0012";
        public const string EnforceClusteredIndex_RuleName = "EnforceClusteredIndex_RuleName";
        public const string EnforceClusteredIndex_ProblemDescription = "EnforceClusteredIndex_ProblemDescription";

        public const string EnforceClusteredIndexIsPrimaryOrForeignKeyRuleId = "DM0013";
        public const string EnforceClusteredIndexIsPrimaryOrForeignKey_RuleName = "EnforceClusteredIndexIsPrimaryOrForeignKey_RuleName";
        public const string EnforceClusteredIndexIsPrimaryOrForeignKey_ProblemDescription = "EnforceClusteredIndexIsPrimaryOrForeignKey_ProblemDescription";

        public const string EnforceForeignKeyIsIndexedRuleId = "DM0014";
        public const string EnforceForeignKeyIsIndexed_RuleName = "EnforceForeignKeyIsIndexed_RuleName";
        public const string EnforceForeignKeyIsIndexed_ProblemDescription = "EnforceForeignKeyIsIndexed_ProblemDescription";

        public const string CheckForDuplicatedColumnsInIndexOrConstraintRuleId = "DM0015";
        public const string CheckForDuplicatedColumnsInIndexOrConstraint_RuleName = "CheckForDuplicatedColumnsInIndexOrConstraint_RuleName";
        public const string CheckForDuplicatedColumnsInIndexOrConstraint_ProblemDescription = "CheckForDuplicatedColumnsInIndexOrConstraint_ProblemDescription";

        public const string EnforceIndexKeyColumnSeparationRuleId = "DM0016";
        public const string EnforceIndexKeyColumnSeparation_RuleName = "EnforceIndexKeyColumnSeparation_RuleName";
        public const string EnforceIndexKeyColumnSeparation_ProblemDescription = "EnforceIndexKeyColumnSeparation_ProblemDescription";

        public const string CheckUniqueIndexHasNoNullColumnsRuleId = "DM0017";
        public const string CheckUniqueIndexHasNoNullColumns_RuleName = "CheckUniqueIndexHasNoNullColumns_RuleName";
        public const string CheckUniqueIndexHasNoNullColumns_ProblemDescription = "CheckUniqueIndexHasNoNullColumns_ProblemDescription";

        public const string CheckUniqueConstraintHasNoNullColumnsRuleId = "DM0018";
        public const string CheckUniqueConstraintHasNoNullColumns_RuleName = "CheckUniqueConstraintHasNoNullColumns_RuleName";
        public const string CheckUniqueConstraintHasNoNullColumns_ProblemDescription = "CheckUniqueConstraintHasNoNullColumns_ProblemDescription";

        public const string CheckUniqueKeysAreNotDuplicatedRuleId = "DM0019";
        public const string CheckUniqueKeysAreNotDuplicated_RuleName = "CheckUniqueKeysAreNotDuplicated_RuleName";
        public const string CheckUniqueKeysAreNotDuplicated_ProblemDescription = "CheckUniqueKeysAreNotDuplicated_ProblemDescription";

        public const string CheckClusteredKeyColumnsNotIncludedInIndexRuleId = "DM0020";
        public const string CheckClusteredKeyColumnsNotIncludedInIndex_RuleName = "CheckClusteredKeyColumnsNotIncludedInIndex_RuleName";
        public const string CheckClusteredKeyColumnsNotIncludedInIndex_ProblemDescription = "CheckClusteredKeyColumnsNotIncludedInIndex_ProblemDescription";

        public const string EnforceMaximumIndexLengthRuleId = "DM0021";
        public const string EnforceMaximumIndexLength_RuleName = "EnforceMaximumIndexLength_RuleName";
        public const string EnforceMaximumIndexLength_ProblemDescription = "EnforceMaximumIndexLength_ProblemDescription";

        public const string EnforceNamedConstraintRuleId = "DM0022";
        public const string EnforceNamedConstraint_RuleName = "EnforceNamedConstraint_RuleName";
        public const string EnforceNamedConstraint_ProblemDescription = "EnforceNamedConstraint_ProblemDescription";


    }
}